#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
初始化用户数据脚本
用于创建初始管理员和普通用户
"""

import sys
import os

# 添加项目根目录到Python路径
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

from app import create_app
from app.models.user import User
from app.extensions import db

def init_users():
    """初始化用户数据"""
    app = create_app()
    
    with app.app_context():
        # 检查是否已有管理员用户
        admin_user = User.query.filter_by(username='admin').first()
        
        if not admin_user:
            # 创建管理员用户
            admin = User(
                username='admin',
                email='admin@example.com',
                is_admin=True,
                is_active=True
            )
            admin.set_password('admin123')
            db.session.add(admin)
            print("创建管理员用户: admin/admin123")
        
        # 创建普通用户
        user1 = User.query.filter_by(username='user1').first()
        if not user1:
            user1 = User(
                username='user1',
                email='user1@example.com',
                is_admin=False,
                is_active=True
            )
            user1.set_password('user123')
            db.session.add(user1)
            print("创建普通用户: user1/user123")
        
        user2 = User.query.filter_by(username='user2').first()
        if not user2:
            user2 = User(
                username='user2',
                email='user2@example.com',
                is_admin=False,
                is_active=True
            )
            user2.set_password('user123')
            db.session.add(user2)
            print("创建普通用户: user2/user123")
        
        # 提交更改
        db.session.commit()
        print("用户数据初始化完成!")

if __name__ == '__main__':
    init_users()